package cn.jetpiece.cloud.joss.app.modular.basics.service;

import com.baomidou.mybatisplus.extension.service.IService;
import cn.jetpiece.cloud.joss.api.basic.model.params.CreateContentTypeParam;
import cn.jetpiece.cloud.joss.api.basic.model.params.UpdateContentTypeParam;
import cn.jetpiece.cloud.joss.api.basic.model.query.ContentTypeQuery;
import cn.jetpiece.cloud.joss.api.basic.model.result.ContentTypeResult;
import cn.jetpiece.cloud.joss.app.modular.basics.entity.ContentType;
import cn.jetpiece.cloud.model.page.PageResult;

/**
 * <p>
 * 内容类型 服务类
 * </p>
 *
 * @author XuJZ
 * @since 2020-09-08
 */
public interface ContentTypeService extends IService<ContentType> {

    /**
     * 新增
     *
     * @param param 新增参数
     * @return 返回结果
     */
    boolean add(CreateContentTypeParam param);

    /**
     * 更新
     *
     * @param param 修改参数
     * @return 返回结果
     */
    boolean update(UpdateContentTypeParam param);

    /**
     * 删除
     *
     * @param fileExtension 扩展名
     * @return 返回结果
     */
    boolean delete(String fileExtension);

    /**
     * 分页查询
     *
     * @param param 查询条件
     * @return 返回结果
     */
    PageResult<ContentTypeResult> page(ContentTypeQuery param);

    /**
     * 获取HTTP头内容类型
     *
     * @param fileExtension 文件扩展名
     * @return
     */
    String getContentType(String fileExtension);

}
